Models of Continual Computation
نویسنده
چکیده
Automated problem solving is viewed typically as the expenditure of computation to solve one or more problems passed to a reasoning system. In response to each problem received, e ort is applied to generate a solution and problem solving ends when the solution is rendered. We discuss the notion of continual computation that addresses a broader conception of problem by considering the ideal use of the idle time between problem instances. The time is used to develop solutions proactively to one or more expected challenges in the future. We consider analyses for traditional all-ornothing algorithms as well as more exible computational procedures. After exploring the allocation of idle time for several settings, we generalize the analysis to consider the case of shifting computation from a current problem to solve future challenges. Finally, we discuss a sample application of the use of continual computation in the setting of diagnostic reasoning. Introduction Computational problem solving is viewed traditionally as the automated solution of problem instances that begins when an instance is submitted for analysis and ends when a solution is rendered. Research on exible, anytime procedures has extended the simple notion of termination of problem solving from that of generating a precise result to a process of incremental re nement. However, these algorithms also solve challenges as they are encountered in real time. In this paper, we describe work on continual computation that extends the de nition of the problem instance to a continuing sequence of problems and that considers the ideal use of the periods of time that are traditionally viewed as idle time between problems. We develop policies for e ectively harnessing idle time to develop solutions or partial solutions to challenges that may be encountered in the future. We rst review the use of knowledge about potential future instances under uncertainty and describe the 1 Copyright c 1997, American Association for Arti cial Intelligence (www.aaai.org). All rights reserved. limitations in the scope of our analyses. Following discussion of policies for allocating idle time, we generalize the analysis to consider the case of directing resources from solving a current challenge to a potential future challenge. Finally, we discuss a sample application of the use of continual computation in automated diagnostic reasoning. Continual Computation Computational systems are often used in environments where relatively large amounts of idle time are pierced by intermittent bursts of problem instances. As an example, consider the case of the interactive use of a diagnostic reasoning system that computes the probability of diseases in a patient or faults in a mechanical system and that makes recommendations for gathering additional information. The process of diagnosis and information gathering is often marked by periods of idle time between the inferences undertaken to revise a diagnosis in response to the entry of additional observations or test results. We will explore the ideal allocation of idle-time resources for precomputing results in several contexts. Rather than pursuing the use of general optimization methods to allocate resources (Dantzig 1963), we seek to elucidate principles of continual computation and tractable policy-generation procedures for classes of prototypical problems. Our analyses hinge on a consideration of the likelihood of alternate forthcoming problems. Given information about the likelihood of future problem instances, ranging from detailed probability distributions to more qualitative orderings in terms of likelihood, we wish to develop policies for the ideal expenditure of idle time. In related work, investigators have discussed the value of optimizing the performance of computational systems given resource constraints (Horvitz 1988; 1990; Breese & Horvitz 1990; Dean & Wellman 1991; Heckerman, Breese, & Horvitz 1989; Zilberstein & Russell 1995). Previous work has also addressed the set of opportunities for developing methods for caching partial, approximate results and nal, precise results so as to optimize the run-time behavior of system (Horvitz 1989). However, few speci cs were given in that work on design principles and decision policies. Minimizing Computational Delay Assume we have access to exact or approximate information about the probabilities, p(IjE), of seeing di erent problem instances I in the next period, given some evidence about the problem or environment situation E. Explicit probability distributions, as well as more qualitative orderings over the likelihood of future instances, can be learned from data or may be generated by a model of a system or environment. We will review an example of the latter in the discussion of a sample application in diagnostic reasoning. Gaining access or modeling the likelihood of future instances can range from trivial to di cult depending on the application. We will not dwell in this paper on alternative means for acquiring information about the likelihood of problem instances. Rather, we focus on the derivation of ideal policies that take as input likelihood information at any level of precision that is available. Given access to probabilities of future challenges, how should an agent spend its idle time? We will limit our analysis to the subset of models of continual computation that address maximizing the timeliness or quality of the solution of the next problem challenge. We wish to identify e ciently the best allocation of resources to solve this greedy continual computation problem for canonical contexts, and, more generally, to identify some basic principles for harnessing idle time. We rst consider models for achieving the goal of minimizing the time required for a system to solve problems. We will assume that the time required to solve each problem is equal and that we have enough memory to store the partial results for the potential next subproblems, I. Our goal is minimize the expected delay when a challenge is posed to the system. Idle time ends at the moment that a new problem is received by the reasoning system. The expected delay associated with solving the next problem instance is a function of the actions the system takes to precompute answers to problem challenges and the duration of the idle-time period. We use t(Ii) for the time required to compute a solution to problem instance Ii, T for the total usable idle time, and t f i for the idle-time fraction allocated to computing the answer to problem instance Ii ahead of time. The maximal time that can be allocated to a future problem instance is the time needed to solve the problem, t(Ii), and the total usable idle time T is less then or equal to the maximal idle time, T = P i t(Ii), su cient to solve all potential future problems. The expected delay before generating a solution to a future problem is, X
منابع مشابه
Investigations of Continual Computation
Autonomous agents that sense, reason, and act in real-world environments for extended periods often need to solve streams of incoming problems. Traditionally, effort is applied only to problems that have already arrived and have been noted. We examine continual computation methods that allow agents to ideally allocate time to solving current as well as potential future problems under uncertaint...
متن کاملCryptography Against Continual Memory Leakage
Recall from last lecture that we have several ways to model leakage. One model is “only computation leaks” by Micali and Reyzin [11], which assumes a form of secure memory that does not leak as long as no computation is done on the data. Another one is “memory leakage” by Akavia, Goldwasser, and Vaikuntanathan [1], which assumes that everything can leak information. From an orthogonal dimension...
متن کاملModels of Continual Co
Automated problem solving is viewed typically as the expenditure of computation to solve one or more problems passed to a reasoning system. In response to each problem received, effort is applied to generate a solution and problem solving ends when the solution is rendered. We discuss the notion of continual computation that addresses a broader conception of problem by considering the ideal use...
متن کاملThinking Ahead: Continual Computation Policies for Allocating Idle and Real-Time Resources to Solve Future Challenges
Research on continual computation centers on developing precomputation policies that can e ectively harness available resources to solve future challenges. We focus on integrating a consideration of o ine and real-time resources in continual computation. We review precomputation policies for exible procedures and present strategies that account for the expected future real-time re nement of a r...
متن کاملContinual Computation Policies for Allocating Offline and Real-Time Resources
Research on continual computation centers on developing precomputation policies that can effectively harness available resources to solve future challenges. We focus on integrating a consideration of offline and real-time resources in continual computation. We review precomputation policies for flexible procedures and present strategies that account for the expected future real-time refinement ...
متن کاملPrinciples and applications of continual computation
Automated problem solving is viewed typically as the allocation of computational resources to solve one or more problems passed to a reasoning system. In response to each problem received, e ort is applied in real time to generate a solution and problem solving ends when a solution is rendered. We examine continual computation, reasoning policies that capture a broader conception of problem by ...
متن کامل